var http = require('http')
var fs = require('fs')

var server = http.createServer()

var wwwDir = 'D:/Movie/www'

server.on('request', function (req, res) {
    var url = req.url;

    fs.readFile('./template.html', function (err, data) {
        if (err) {
            return res.end('404 Not Found.')
        } else {
            // 1.得到目录列表中的文件名和目录名
            //      fs.readdir
            // 2.将得到的文件名和目录名替换到 template.html 中
            //      模板引擎
            //      2.1 在 template.html 中需要替换的位置预留一个特殊的标记（就像以前使用模板引擎的标记一样）
            //      2.2 根据 files 生成需要的 HTML 内容
            fs.readdir(wwwDir, function(err, files){
                if(err){
                    return res.end('Can not find www dir.')
                }
                // console.log(files)
                var content = ''
                files.forEach(function(item){
                    // 在 EcmaScript 6 的 ` 字符串中，可以使用 ${} 来引用变量
                    content += `
                        <tr>
                            <td>${item}</td>
                        </tr>
                    `
                })
                // 2.3 替换
                data = data.toString()
                data.replace('{responseTitle}', wwwDir)
                data.replace('{responseBody}', content)
            })
            return res.end(data)
        }
    })
})

// 4.绑定端口号，启动服务器
server.listen(3000, function () {
    // 日志
    console.log('running...')
})